// ============================================================================
//
// LCP-net framework by Pierre CHATEL chatelp@gmail.com
// Distributed under GPLv3
// Copyright (C) THALES Land & Joint Systems, 2008, 2009. All rights reserved
//
// ============================================================================

/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package com.thalesgroup.preferenceFramework.models.LCPnet;

import org.eclipse.emf.ecore.EFactory;

/**
 * <!-- begin-user-doc -->
 * The <b>Factory</b> for the model.
 * It provides a create method for each non-abstract class of the model.
 * <!-- end-user-doc -->
 * @see com.thalesgroup.preferenceFramework.models.LCPnet.LCPnetPackage
 * @generated
 */
public interface LCPnetFactory extends EFactory {
	/**
	 * The singleton instance of the factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	LCPnetFactory eINSTANCE = com.thalesgroup.preferenceFramework.models.LCPnet.impl.LCPnetFactoryImpl.init();

	/**
	 * Returns a new object of class '<em>LC Pnet</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>LC Pnet</em>'.
	 * @generated
	 */
	LCPnet createLCPnet();

	/**
	 * Returns a new object of class '<em>Linguistic Domain</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Linguistic Domain</em>'.
	 * @generated
	 */
	LinguisticDomain createLinguisticDomain();

	/**
	 * Returns a new object of class '<em>Linguistic Subset</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Linguistic Subset</em>'.
	 * @generated
	 */
	LinguisticSubset createLinguisticSubset();

	/**
	 * Returns a new object of class '<em>LNode</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>LNode</em>'.
	 * @generated
	 */
	LNode createLNode();

	/**
	 * Returns a new object of class '<em>CLPT</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>CLPT</em>'.
	 * @generated
	 */
	CLPT createCLPT();

	/**
	 * Returns a new object of class '<em>CLPT Line</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>CLPT Line</em>'.
	 * @generated
	 */
	CLPTLine createCLPTLine();

	/**
	 * Returns a new object of class '<em>CNode Value</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>CNode Value</em>'.
	 * @generated
	 */
	CNodeValue createCNodeValue();

	/**
	 * Returns a new object of class '<em>LNode Value</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>LNode Value</em>'.
	 * @generated
	 */
	LNodeValue createLNodeValue();

	/**
	 * Returns a new object of class '<em>LNode Value Utility</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>LNode Value Utility</em>'.
	 * @generated
	 */
	LNodeValueUtility createLNodeValueUtility();

	/**
	 * Returns a new object of class '<em>Coordinate</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Coordinate</em>'.
	 * @generated
	 */
	Coordinate createCoordinate();

	/**
	 * Returns a new object of class '<em>COutcome</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>COutcome</em>'.
	 * @generated
	 */
	COutcome createCOutcome();

	/**
	 * Returns a new object of class '<em>LTwo Tuple</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>LTwo Tuple</em>'.
	 * @generated
	 */
	LTwoTuple createLTwoTuple();

	/**
	 * Returns a new object of class '<em>IArc</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>IArc</em>'.
	 * @generated
	 */
	IArc createIArc();

	/**
	 * Returns a new object of class '<em>CI Arc</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>CI Arc</em>'.
	 * @generated
	 */
	CIArc createCIArc();

	/**
	 * Returns a new object of class '<em>CIT</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>CIT</em>'.
	 * @generated
	 */
	CIT createCIT();

	/**
	 * Returns a new object of class '<em>CIT Line</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>CIT Line</em>'.
	 * @generated
	 */
	CITLine createCITLine();

	/**
	 * Returns the package supported by this factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the package supported by this factory.
	 * @generated
	 */
	LCPnetPackage getLCPnetPackage();

} //LCPnetFactory
